1. Field of the Invention
The present invention pertains to the field of digital circuitry. More particularly, this invention relates to block id encoder circuitry.
2. Background
As the computer revolution has progressed the quest of microprocessor developers has been to develop chips exhibiting more power and faster performance. Substantial effort has been focused on increasing transistor populations on single microprocessor integrated circuits. That effort continues with today's microprocessors now housing literally millions of transistors on a single chip. Further integration has allowed processor clock speeds to be greatly increased with the increased density of transistors.
Given their increased power and performance, modern microprocessors have found uses in a wide range of fields. Many of the electronic goods which are commercially available today and the majority of control systems used in manufacturing and industry include one or more microprocessors.
Given the large number of transistors involved, modern microprocessors are divided into discrete functional blocks through which instructions are propagated one stage at a time. As the number of transistors on a single chip has increased, effort has been expended to reduce the number of transistors used within these functional blocks. Reducing the number of transistors required to carry out the function of a particular functional block frees up space which can be used to incorporate additional capabilities in the chip.
An additional concern in microprocessor design has been to increase the overall speed of the microprocessor. This is accomplished by increasing the speed at which each of the functional blocks, as well as the logic devices within the functional blocks, operates.
One such logic device which is often utilized in microprocessors, as well as other electronic devices, is an encoder. A typical encoder is a device which encodes onto n binary output signals which one of up to 2.sup.n binary input signals is asserted. Encoders can be very useful in many areas because they can reduce the number of signals which have to be transported within the chip and, possibly, stored. For example, eight input signals can be encoded onto three output signals, thereby reducing the number of signals which need to be transported to other areas of the chip by five, and if the value needs to be stored, then reducing the number of bit storage elements required by five.
One method of building encoders which has been used in microprocessors is a multiple-level combinatorial logic approach. This approach includes combining multiple inverters, logical NAND gates, and logical NOR gates. This approach, however, typically involves passing the input signals through several levels of gates, thereby reducing the speed of the encoder. Thus, it would be beneficial to design an encoder with a reduced number of levels of gates through which signals propagate.
Additionally, many transistors are typically used to build an encoder using a multiple-level combinatorial logic approach, thereby taking valuable chip area away from other components which may need the area. Thus, it would be beneficial to design an encoder with a reduced number of transistors.
One additional logic device used in many electronic devices, including microprocessors, is a memory array or similar structure. Memory arrays have a wide variety of uses, such as storing multiple data entries. When using memory arrays, it is often desirable to identify which one of the multiple entries matches a particular input. Thus, it would be beneficial to provide a circuit which quickly identifies, using a reduced number of transistors, which one of multiple memory array entries matches a particular input.
As will be described in more detail below, the present invention provides for a circuit that achieves these and other desired results which will be apparent to those skilled in the art from the description to follow.